package com.winshare.saleAssistant.domain.dto.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@ApiModel
public class ProductModuleUpdateDTO {

    @NotNull(message = "主键不可以为空")
    @Range(min = 1, message = "主键为大于或等于1的正整数")
    @ApiModelProperty(value = "主键不可以为空")
    private Integer id;

    @NotNull(message = "产品分类主键不可以为空")
    @Range(min = 1,message = "产品分类主键为大于或等于1的正整数")
    @ApiModelProperty(value = "产品分类主键")
    private Integer productCategoryId;

    @NotBlank(message = "文章模块名称不可以为空")
    @Length(min = 1, max = 80, message = "文章模块名称长度需要在1-100个字之间")
    @ApiModelProperty(value = "文章模块名称")
    private String moduleName;

    @NotBlank(message = "文章模块类型不可以为空")
    @Length(min = 1, max = 80, message = "文章模块类型长度需要在1-100个字之间")
    @ApiModelProperty(value = "文章模块类型")
    private String moduleType;

    @NotNull(message = "是否必须字段不可以为空")
    @Range(min = 0, max = 1, message = "状态：0,非必须;1,必须的")
    @ApiModelProperty(value = "是否必须")
    private Integer isRequired;

    @NotNull(message = "是否内部字段不可以为空")
    @Range(min = 0, max = 1, message = "状态：0,非内部;1,内部的")
    @ApiModelProperty(value = "是否为内部")
    private Integer isInternal;

    @ApiModelProperty(value = "产品栏目排序")
    private Integer sort;

    @NotNull(message = "分类描述：0，宣传模式，0，学习模式")
    @Range(min = 0, max = 1, message = "分类描述：0，宣传模式，1，学习模式")
    @ApiModelProperty(value = "分类描述：0，宣传模式，1，学习模式")
    private Integer pattern;

    public ProductModuleUpdateDTO() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getProductCategoryId() {
        return productCategoryId;
    }

    public void setProductCategoryId(Integer productCategoryId) {
        this.productCategoryId = productCategoryId;
    }

    public String getModuleName() {
        return moduleName;
    }

    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    public String getModuleType() {
        return moduleType;
    }

    public void setModuleType(String moduleType) {
        this.moduleType = moduleType;
    }

    public Integer getIsRequired() {
        return isRequired;
    }

    public void setIsRequired(Integer isRequired) {
        this.isRequired = isRequired;
    }

    public Integer getIsInternal() {
        return isInternal;
    }

    public void setIsInternal(Integer isInternal) {
        this.isInternal = isInternal;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getPattern() {
        return pattern;
    }

    public void setPattern(Integer pattern) {
        this.pattern = pattern;
    }
}
